# coding=utf-8
from utils.db_pool import LawDB
from collections import OrderedDict
from pprint import pprint
import requests
import httpx
import json
import time
import ast

# 修改错字
class Text_Correction:

    def __init__(self):
        self.API_KEY = "CldQcNkBcPjfAL8oqBu9uTok"
        self.SECRET_KEY = "3Q8GHlNAoFED0vTpkImR8wSmmVZDuMPO"

    async def get_access_token(self):
        """
        使用 AK，SK 生成鉴权签名（Access Token）
        :return: access_token，或是None(如果错误)
        """
        url = "https://aip.baidubce.com/oauth/2.0/token"
        params = {"grant_type": "client_credentials", "client_id": self.API_KEY, "client_secret": self.SECRET_KEY}
        return str(requests.post(url, params=params).json().get("access_token"))


    async def fix_typos(self, text: str, access_token: str):
        url = "https://aip.baidubce.com/rpc/2.0/nlp/v1/ecnet?charset=UTF-8&access_token=" + access_token
        payload = json.dumps({"text": text}, ensure_ascii=False)
        headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
        async with httpx.AsyncClient() as client:
            response = await client.post(url, headers=headers, data=payload.encode("utf-8"))
            result = response.json()
        return result


    async def correction_text(self, index_paragraph_sentence_dict: dict, user_id: int, fileId: str):
        start_time = time.time()
        json_len = len(index_paragraph_sentence_dict)
        print("切片JOSN长度", json_len)
        access_token = await self.get_access_token()
        fix_typos_dict = OrderedDict()
        db = LawDB()
        try:
            for index, (key, value) in enumerate(index_paragraph_sentence_dict.items()):
                print('key:', key)
                s_time = time.time()
                content_text = value['文本']
                result = {'error_msg': 'error_msg'}
                while 'error_msg' in list(result.keys()):
                    try:
                        result = await self.fix_typos(content_text[:500], access_token)
                    except Exception as e:
                        print('fix_typos error_msg:', e)
                        access_token = await self.get_access_token()
                        continue

                if 'item' in list(result.keys()):
                    if len(result['item']['vec_fragment']) == 0:
                        continue

                fix_list = []
                for fix_dict in result['item']['vec_fragment']:
                    if fix_dict['correct_frag'] == fix_dict['ori_frag']:
                        continue
                    else:
                        fix_list.append(fix_dict)
                if len(fix_list) == 0:
                    continue
                await db.init_pool()
                await db.insert_correction(user_id, fix_list, fileId, int(key), round(int(index) / json_len, 2))
                print('fix_list', fix_list)
                fix_typos_dict[key] = fix_list
                # print('fix_typos_dict', fix_typos_dict)
                e_time = time.time()
                print('单批次时间：', e_time - s_time)
            await db.init_pool()
            await db.save_correction_progress_bar(user_id=user_id, fileId=fileId)
        finally:
            await db.close_pool()
        # 按键沈旭排列
        # ordered_dict = OrderedDict(sorted(fix_typos_dict.items(), key=lambda item: item[0], reverse=False))
        end_time = time.time()
        print('全文改错时间:', end_time - start_time)
        return fix_typos_dict

if __name__ == '__main__':

    import asyncio
    import threading

    index_paragraph_sentence_dict = {
        "25": {
            "文本": "五、发行人技术先进性、研发技术产业化情况以及未来发展战略\n（一）技术先进性\n公司深耕芯片设计、研发多年， 在芯片设计领域的技术积淀雄厚，位于国内 行业技术领先地位。",
            "文本段落索引列表": [
                155,
                157,
                158
            ],
            "切片": "五、发行人技术先进性、研发技术产业化情况以及未来发展战略\n（一）技术先进性\n公司深耕芯片设计、研发多年， 在芯片设计领域的技术积淀雄厚，位于国内 行业技术领先地位。公司注重技术的自主研发， 已经形成了 7 大核心技术，应用 于公司主要 SoC 芯片产品。",
            "切片段落索引列表": [
                155,
                157,
                158,
                158
            ]
        },
        "26": {
            "文本": "公司注重技术的自主研发， 已经形成了 7 大核心技术，应用 于公司主要 SoC 芯片产品。",
            "文本段落索引列表": [
                158
            ],
            "切片": "公司注重技术的自主研发， 已经形成了 7 大核心技术，应用 于公司主要 SoC 芯片产品。",
            "切片段落索引列表": [
                158
            ]
        },
        "27": {
            "文本": "公司核心技术及其先进性情况如下：\n（二）研发技术产业化情况\n公司是中国领先的物联网领域 SoC  芯片设计厂商，主要从事物联网智能硬 件核心 SoC  芯片的研发、设计、终测和销售，主要产品为物联网摄像机芯片、 物联网应用处理器芯片等。",
            "文本段落索引列表": [
                158,
                163,
                164
            ],
            "切片": "公司注重技术的自主研发， 已经形成了 7 大核心技术，应用 于公司主要 SoC 芯片产品。公司核心技术及其先进性情况如下：\n（二）研发技术产业化情况\n公司是中国领先的物联网领域 SoC  芯片设计厂商，主要从事物联网智能硬 件核心 SoC  芯片的研发、设计、终测和销售，主要产品为物联网摄像机芯片、 物联网应用处理器芯片等。",
            "切片段落索引列表": [
                158,
                158,
                163,
                164
            ]
        },
        "28": {
            "文本": "报告期内，公司主营业务收入按产品类别构成如下：\n单位：万元\n（三）未来发展战略\n公司秉承“我们的芯片改变世界，做世界一流芯片设计企业，让每颗芯片领 先国际市场 ”的美好愿景，坚持“创新、专注、极致 ”的企业精神，依托优秀的 研发团队和雄厚的技术积淀，聚焦于物联网智能硬件核心 SoC  芯片的研发、设 计、终测和销售。",
            "文本段落索引列表": [
                164,
                165,
                166,
                167
            ],
            "切片": "报告期内，公司主营业务收入按产品类别构成如下：\n单位：万元\n（三）未来发展战略\n公司秉承“我们的芯片改变世界，做世界一流芯片设计企业，让每颗芯片领 先国际市场 ”的美好愿景，坚持“创新、专注、极致 ”的企业精神，依托优秀的 研发团队和雄厚的技术积淀，聚焦于物联网智能硬件核心 SoC  芯片的研发、设 计、终测和销售。",
            "切片段落索引列表": [
                164,
                165,
                166,
                167
            ]
        },
        "29": {
            "文本": "未来，公司将在现有产品布局基础上，贯彻如下的发展战略：\n1、研发技术创新战略。",
            "文本段落索引列表": [
                167,
                168
            ],
            "切片": "未来，公司将在现有产品布局基础上，贯彻如下的发展战略：\n1、研发技术创新战略。公司将继续以自主创新为根本，进一步加大研发投 入。",
            "切片段落索引列表": [
                167,
                168,
                168
            ]
        },
        "30": {
            "文本": "公司将继续以自主创新为根本，进一步加大研发投 入。",
            "文本段落索引列表": [
                168
            ],
            "切片": "公司将继续以自主创新为根本，进一步加大研发投 入。一方面公司将专注于芯片前沿技术，包括模拟电路数字化、图像信号智能处 理技术等，保持自身在国内物联网智能硬件核心 SoC  的技术优势地位；另一方 面，公司将进一步推进芯片的工艺制程，提升芯片的性能和集成度，降低芯片的 功耗、面积，巩固增强公司产品的市场竞争力。\n",
            "切片段落索引列表": [
                168,
                168
            ]
        },
        "31": {
            "文本": "一方面公司将专注于芯片前沿技术，包括模拟电路数字化、图像信号智能处 理技术等，保持自身在国内物联网智能硬件核心 SoC  的技术优势地位；另一方 面，公司将进一步推进芯片的工艺制程，提升芯片的性能和集成度，降低芯片的 功耗、面积，巩固增强公司产品的市场竞争力。\n",
            "文本段落索引列表": [
                168
            ],
            "切片": "公司将继续以自主创新为根本，进一步加大研发投 入。一方面公司将专注于芯片前沿技术，包括模拟电路数字化、图像信号智能处 理技术等，保持自身在国内物联网智能硬件核心 SoC  的技术优势地位；另一方 面，公司将进一步推进芯片的工艺制程，提升芯片的性能和集成度，降低芯片的 功耗、面积，巩固增强公司产品的市场竞争力。\n",
            "切片段落索引列表": [
                168,
                168
            ]
        },
        "32": {
            "文本": "2、市场产品拓展战略。",
            "文本段落索引列表": [
                169
            ],
            "切片": "2、市场产品拓展战略。（1）在物联网摄像机芯片领域，公司在巩固现有市 场份额的前提下，将进一步扩大和头部品牌商和电信运营商的合作，把握物联网 摄像机市场发展浪潮，开发出更高智能算力、综合性能更加优异的芯片产品， 丰 富公司物联网摄像机芯片产品线。",
            "切片段落索引列表": [
                169,
                169
            ]
        },
        "33": {
            "文本": "（1）在物联网摄像机芯片领域，公司在巩固现有市 场份额的前提下，将进一步扩大和头部品牌商和电信运营商的合作，把握物联网 摄像机市场发展浪潮，开发出更高智能算力、综合性能更加优异的芯片产品， 丰 富公司物联网摄像机芯片产品线。",
            "文本段落索引列表": [
                169
            ],
            "切片": "2、市场产品拓展战略。（1）在物联网摄像机芯片领域，公司在巩固现有市 场份额的前提下，将进一步扩大和头部品牌商和电信运营商的合作，把握物联网 摄像机市场发展浪潮，开发出更高智能算力、综合性能更加优异的芯片产品， 丰 富公司物联网摄像机芯片产品线。（2）在物联网应用处理器芯片领域，公司将向 工业级应用领域拓展。",
            "切片段落索引列表": [
                169,
                169,
                169
            ]
        },
        "34": {
            "文本": "（2）在物联网应用处理器芯片领域，公司将向 工业级应用领域拓展。",
            "文本段落索引列表": [
                169
            ],
            "切片": "（1）在物联网摄像机芯片领域，公司在巩固现有市 场份额的前提下，将进一步扩大和头部品牌商和电信运营商的合作，把握物联网 摄像机市场发展浪潮，开发出更高智能算力、综合性能更加优异的芯片产品， 丰 富公司物联网摄像机芯片产品线。（2）在物联网应用处理器芯片领域，公司将向 工业级应用领域拓展。由于工业级芯片在使用环境、适用温湿度、抗干扰性上比 消费级芯片要求更为苛刻，芯片技术水平要求更高。",
            "切片段落索引列表": [
                169,
                169,
                169
            ]
        },
        "35": {
            "文本": "由于工业级芯片在使用环境、适用温湿度、抗干扰性上比 消费级芯片要求更为苛刻，芯片技术水平要求更高。",
            "文本段落索引列表": [
                169
            ],
            "切片": "（2）在物联网应用处理器芯片领域，公司将向 工业级应用领域拓展。由于工业级芯片在使用环境、适用温湿度、抗干扰性上比 消费级芯片要求更为苛刻，芯片技术水平要求更高。",
            "切片段落索引列表": [
                169,
                169
            ]
        },
        "36": {
            "文本": "公司将开展物联网工业级应 用处理器芯片的研发，重点提升芯片的处理器能效比、人工智能和无线连接能力， 抓住我国数字化转型的机遇，实现工业级芯片的国产化替代，促使公司芯片在工\n业级领域布局立体化。",
            "文本段落索引列表": [
                169,
                171
            ],
            "切片": "由于工业级芯片在使用环境、适用温湿度、抗干扰性上比 消费级芯片要求更为苛刻，芯片技术水平要求更高。公司将开展物联网工业级应 用处理器芯片的研发，重点提升芯片的处理器能效比、人工智能和无线连接能力， 抓住我国数字化转型的机遇，实现工业级芯片的国产化替代，促使公司芯片在工\n业级领域布局立体化。除现有产品线外， 公司还将专注短距离无线连接技术，提 供优质高效的连接解决方案。\n",
            "切片段落索引列表": [
                169,
                169,
                171,
                171
            ]
        },
        "37": {
            "文本": "除现有产品线外， 公司还将专注短距离无线连接技术，提 供优质高效的连接解决方案。\n",
            "文本段落索引列表": [
                171
            ],
            "切片": "除现有产品线外， 公司还将专注短距离无线连接技术，提 供优质高效的连接解决方案。\n",
            "切片段落索引列表": [
                171
            ]
        },
        "38": {
            "文本": "综上，公司致力于提供优质高效的 AIoT 芯片体系，以物联网智能硬件核心 SoC 为抓手，助力推动 AIoT 市场发展和提升终端用户体验。\n",
            "文本段落索引列表": [
                172
            ],
            "切片": "综上，公司致力于提供优质高效的 AIoT 芯片体系，以物联网智能硬件核心 SoC 为抓手，助力推动 AIoT 市场发展和提升终端用户体验。\n",
            "切片段落索引列表": [
                172
            ]
        },
        "1756": {
            "文本": "本机构及签字注册资产评估师对发行人在招股 说明书中引用的资产评估报告的内容无异议，确认招股说明书不致因上述内容而 出现虚假记载、误导性陈述或重大遗漏，并对其真实性、准确性、完整性承担相 应的法律责任。\n",
            "文本段落索引列表": [
                3721
            ],
            "切片": "本机构及签字注册资产评估师对发行人在招股 说明书中引用的资产评估报告的内容无异议，确认招股说明书不致因上述内容而 出现虚假记载、误导性陈述或重大遗漏，并对其真实性、准确性、完整性承担相 应的法律责任。\n",
            "切片段落索引列表": [
                3721
            ]
        },
        "1757": {
            "文本": "签字资产评估师：\n徐达(已离职)\n资产评估机构负责人：\n商           肽 商光太\n张萌\n联合中和土地房地产资产评估有限公司\n0 2 2 年66月 9 日\n广州安凯微电子股份有限公司                        招 股 说 明 书 ( 申 报 稿 )\n联合中和土地房地产资产评估有限公司更名情况说明\n福建联合中和资产评估土地房地产估价有限公司于2022年2月18日变更名 称为联合中和土地房地产资产评估有限公司并办理了工商登记，取得了福州市鼓 楼区市场监督管理局颁发的统一社会信用代码为“913501007173080101”的营业 执照。\n",
            "文本段落索引列表": [
                3725,
                3729,
                3731,
                3734,
                3737,
                3750,
                3754,
                3757,
                3758,
                3760
            ],
            "切片": "签字资产评估师：\n徐达(已离职)\n资产评估机构负责人：\n商           肽 商光太\n张萌\n联合中和土地房地产资产评估有限公司\n0 2 2 年66月 9 日\n广州安凯微电子股份有限公司                        招 股 说 明 书 ( 申 报 稿 )\n联合中和土地房地产资产评估有限公司更名情况说明\n福建联合中和资产评估土地房地产估价有限公司于2022年2月18日变更名 称为联合中和土地房地产资产评估有限公司并办理了工商登记，取得了福州市鼓 楼区市场监督管理局颁发的统一社会信用代码为“913501007173080101”的营业 执照。\n",
            "切片段落索引列表": [
                3725,
                3729,
                3731,
                3734,
                3737,
                3750,
                3754,
                3757,
                3758,
                3760
            ]
        },
        "1758": {
            "文本": "特此说明。\n",
            "文本段落索引列表": [
                3761
            ],
            "切片": "特此说明。\n",
            "切片段落索引列表": [
                3761
            ]
        },
        "1759": {
            "文本": "资产评估机构负责人：\n式  商光太\n联合中和土地房地产资产评估有限公司\n0 2 2 年 6 月月9  日 日\n广州安凯微电子股份有限公司                         招 股 说 明 书 ( 申 报 稿 )\n签字资产评估师情况说明\n截至本说明出具之日，本评估机构于2020年8月21日出具的《安凯(广州) 微电子技术有限公司拟整体变更为股份有限公司所涉及的公司净资产市场价值 资产评估报告》(联合中和评报字(2020)第6178号)中的签字资产评估师徐达 已自本机构离职，故未能够在资产评估机构声明页中签字。\n",
            "文本段落索引列表": [
                3766,
                3769,
                3776,
                3780,
                3783,
                3785,
                3787
            ],
            "切片": "资产评估机构负责人：\n式  商光太\n联合中和土地房地产资产评估有限公司\n0 2 2 年 6 月月9  日 日\n广州安凯微电子股份有限公司                         招 股 说 明 书 ( 申 报 稿 )\n签字资产评估师情况说明\n截至本说明出具之日，本评估机构于2020年8月21日出具的《安凯(广州) 微电子技术有限公司拟整体变更为股份有限公司所涉及的公司净资产市场价值 资产评估报告》(联合中和评报字(2020)第6178号)中的签字资产评估师徐达 已自本机构离职，故未能够在资产评估机构声明页中签字。\n",
            "切片段落索引列表": [
                3766,
                3769,
                3776,
                3780,
                3783,
                3785,
                3787
            ]
        },
        "1760": {
            "文本": "特此说明。\n",
            "文本段落索引列表": [
                3788
            ],
            "切片": "特此说明。\n",
            "切片段落索引列表": [
                3788
            ]
        },
        "1761": {
            "文本": "资产评估机构负责人：\n商光太\n联合中和土地房地产资产评估有限公司\n2 0 2 2 年 6 月 9 日\n七、验资机构声明\n本所及签字注册会计师已阅读广州安凯微电子股份有限公司招股说明书，确 认招股说明书与本所出具的验资报告无矛盾之处。",
            "文本段落索引列表": [
                3797,
                3801,
                3809,
                3811,
                3814,
                3816
            ],
            "切片": "资产评估机构负责人：\n商光太\n联合中和土地房地产资产评估有限公司\n2 0 2 2 年 6 月 9 日\n七、验资机构声明\n本所及签字注册会计师已阅读广州安凯微电子股份有限公司招股说明书，确 认招股说明书与本所出具的验资报告无矛盾之处。本所及签字注册会计师对发行 人在招股说明书中引用的验资报告的内容无异议，确认招股说明书不致因上述内 容而出现虚假记载、误导性陈述或重大遗漏，并对其真实性、准确性、完整性承 担相应的法律责任。\n",
            "切片段落索引列表": [
                3797,
                3801,
                3809,
                3811,
                3814,
                3816,
                3816
            ]
        },
        "1762": {
            "文本": "本所及签字注册会计师对发行 人在招股说明书中引用的验资报告的内容无异议，确认招股说明书不致因上述内 容而出现虚假记载、误导性陈述或重大遗漏，并对其真实性、准确性、完整性承 担相应的法律责任。\n",
            "文本段落索引列表": [
                3816
            ],
            "切片": "本所及签字注册会计师对发行 人在招股说明书中引用的验资报告的内容无异议，确认招股说明书不致因上述内 容而出现虚假记载、误导性陈述或重大遗漏，并对其真实性、准确性、完整性承 担相应的法律责任。\n",
            "切片段落索引列表": [
                3816
            ]
        },
        "1763": {
            "文本": "签字注册会计师：\n刘琪\n会计师事务所负责人：\n确林宝明\n张凤波\n华兴会计师事务所(特殊普通合伙)\n2 0 2 2 年 6 月 9 日日\n八、验资复核机构声明\n本所及签字注册会计师已阅读广州安凯微电子股份有限公司招股说明书，确 认招股说明书与本所出具的验资复核报告无矛盾之处。",
            "文本段落索引列表": [
                3820,
                3823,
                3825,
                3828,
                3831,
                3837,
                3841,
                3845,
                3847
            ],
            "切片": "签字注册会计师：\n刘琪\n会计师事务所负责人：\n确林宝明\n张凤波\n华兴会计师事务所(特殊普通合伙)\n2 0 2 2 年 6 月 9 日日\n八、验资复核机构声明\n本所及签字注册会计师已阅读广州安凯微电子股份有限公司招股说明书，确 认招股说明书与本所出具的验资复核报告无矛盾之处。本所及签字注册会计师对  发行人在招股说明书中引用的验资复核报告的内容无异议，确认招股说明书不致  因上述内容而出现虚假记载、误导性陈述或重大遗漏，并对其真实性、准确性、 完整性承担相应的法律责任。\n",
            "切片段落索引列表": [
                3820,
                3823,
                3825,
                3828,
                3831,
                3837,
                3841,
                3845,
                3847,
                3847
            ]
        },
        "1764": {
            "文本": "本所及签字注册会计师对  发行人在招股说明书中引用的验资复核报告的内容无异议，确认招股说明书不致  因上述内容而出现虚假记载、误导性陈述或重大遗漏，并对其真实性、准确性、 完整性承担相应的法律责任。\n",
            "文本段落索引列表": [
                3847
            ],
            "切片": "本所及签字注册会计师对  发行人在招股说明书中引用的验资复核报告的内容无异议，确认招股说明书不致  因上述内容而出现虚假记载、误导性陈述或重大遗漏，并对其真实性、准确性、 完整性承担相应的法律责任。\n",
            "切片段落索引列表": [
                3847
            ]
        },
        "1765": {
            "文本": "签字注册会计师：\n张\n张凤波\n会计师事务所负责人：\n华兴会计师事务所(特殊普通合伙)\n6 月 9 日\n第十三节  附件\n按照《公开发行证券的公司信息披露内容与格式准则第 41 号——科创板公 司招股说明书》的规定，以下文件为本招股说明书附件：\n（一）发行保荐书；\n（二）上市保荐书；\n（三）法律意见书；\n（四）财务报表及审计报告；\n（五）公司章程（草案）；\n（六）发行人及其他责任主体作出的与发行人本次发行上市相关的承诺事项；\n（七）内部控制鉴证报告；\n（八）经注册会计师鉴证的非经常性损益明细表；\n（九）中国证监会同意发行人本次公开发行注册的文件；\n（十）其他与本次发行有关的重要文件。\n",
            "文本段落索引列表": [
                3851,
                3853,
                3854,
                3856,
                3866,
                3870,
                3873,
                3875,
                3876,
                3877,
                3878,
                3879,
                3880,
                3881,
                3882,
                3883,
                3884,
                3885
            ],
            "切片": "签字注册会计师：\n张\n张凤波\n会计师事务所负责人：\n华兴会计师事务所(特殊普通合伙)\n6 月 9 日\n第十三节  附件\n按照《公开发行证券的公司信息披露内容与格式准则第 41 号——科创板公 司招股说明书》的规定，以下文件为本招股说明书附件：\n（一）发行保荐书；\n（二）上市保荐书；\n（三）法律意见书；\n（四）财务报表及审计报告；\n（五）公司章程（草案）；\n（六）发行人及其他责任主体作出的与发行人本次发行上市相关的承诺事项；\n（七）内部控制鉴证报告；\n（八）经注册会计师鉴证的非经常性损益明细表；\n（九）中国证监会同意发行人本次公开发行注册的文件；\n（十）其他与本次发行有关的重要文件。\n",
            "切片段落索引列表": [
                3851,
                3853,
                3854,
                3856,
                3866,
                3870,
                3873,
                3875,
                3876,
                3877,
                3878,
                3879,
                3880,
                3881,
                3882,
                3883,
                3884,
                3885
            ]
        },
        "1766": {
            "文本": "附表一主要商标情况\n一、发行人及其子公司拥有的境内注册商标\n注：发行人及其子公司共拥有69项境内商标，其中原始取得数量为62项，继受取得数量为  7项，上述商标转让方均为安凯技术，主要原因为安凯技术代发行人在境内和境外申请了部 分商标，按照规范化运作要求，安凯技术将该等商标转让给发行人。\n",
            "文本段落索引列表": [
                3888,
                3890,
                3898
            ],
            "切片": "附表一主要商标情况\n一、发行人及其子公司拥有的境内注册商标\n注：发行人及其子公司共拥有69项境内商标，其中原始取得数量为62项，继受取得数量为  7项，上述商标转让方均为安凯技术，主要原因为安凯技术代发行人在境内和境外申请了部 分商标，按照规范化运作要求，安凯技术将该等商标转让给发行人。\n",
            "切片段落索引列表": [
                3888,
                3890,
                3898
            ]
        },
        "1767": {
            "文本": "二、发行人拥有的境外注册商标\n注：发行人共拥有 4 项境外商标，其中原始取得数量为 2 项，继受取得数量为 2 项，上述商 标转让方均为安凯技术，主要原因为安凯技术代发行人在境内和境外申请了部分商标，按照 规范化运作要求，安凯技术将该等商标转让给发行人。\n",
            "文本段落索引列表": [
                3899,
                3904
            ],
            "切片": "二、发行人拥有的境外注册商标\n注：发行人共拥有 4 项境外商标，其中原始取得数量为 2 项，继受取得数量为 2 项，上述商 标转让方均为安凯技术，主要原因为安凯技术代发行人在境内和境外申请了部分商标，按照 规范化运作要求，安凯技术将该等商标转让给发行人。\n",
            "切片段落索引列表": [
                3899,
                3904
            ]
        },
        "1768": {
            "文本": "附表二 主要专利情况\n一、发行人及其子公司拥有的境内专利\n注：发行人继受取得的专利原权利人为深圳安凯微电子技术有限公司（以下简称“深圳安凯 ”），\n深圳安凯系发行人第一大股东安凯技术的全资子公司，已于 2019 年完成注销。",
            "文本段落索引列表": [
                3907,
                3909,
                3953,
                3954
            ],
            "切片": "附表二 主要专利情况\n一、发行人及其子公司拥有的境内专利\n注：发行人继受取得的专利原权利人为深圳安凯微电子技术有限公司（以下简称“深圳安凯 ”），\n深圳安凯系发行人第一大股东安凯技术的全资子公司，已于 2019 年完成注销。发行人子公 司浙江凯宇继受取得的专利原权利人为发行人。\n",
            "切片段落索引列表": [
                3907,
                3909,
                3953,
                3954,
                3954
            ]
        },
        "1769": {
            "文本": "发行人子公 司浙江凯宇继受取得的专利原权利人为发行人。\n",
            "文本段落索引列表": [
                3954
            ],
            "切片": "发行人子公 司浙江凯宇继受取得的专利原权利人为发行人。\n",
            "切片段落索引列表": [
                3954
            ]
        },
        "1770": {
            "文本": "二、发行人拥有的境外专利\n附表三 主要软件著作权情况\n一、发行人拥有的主要软件著作权\n注 1 ：发行人继受取得的软件著作权原权利人为深圳安凯。\n",
            "文本段落索引列表": [
                3956,
                3961,
                3963,
                3968
            ],
            "切片": "二、发行人拥有的境外专利\n附表三 主要软件著作权情况\n一、发行人拥有的主要软件著作权\n注 1 ：发行人继受取得的软件著作权原权利人为深圳安凯。\n",
            "切片段落索引列表": [
                3956,
                3961,
                3963,
                3968
            ]
        },
        "1771": {
            "文本": "注 2 ：《计算机软件著作权登记证书》登载开发完成日期的，以开发完成日期为准；未登载 开发完成日期的，以首次发表日期为准。\n",
            "文本段落索引列表": [
                3969
            ],
            "切片": "注 2 ：《计算机软件著作权登记证书》登载开发完成日期的，以开发完成日期为准；未登载 开发完成日期的，以首次发表日期为准。\n",
            "切片段落索引列表": [
                3969
            ]
        }
    }
    Text = Text_Correction()
    content_text = '''北京 WFOE 与北京岚锋及其全部股东刘靖康、陈永强、童晨、胡旭波、深圳迅 雷就协议控制北京岚锋事项，签署了系列重述版控制协议。
15、2016年8月，设立深圳 WFOE
深圳 WFOE 系香港岚锋以货币出资方式设立的外商独资公司，公司注册日获得中国(广东)白由密客本5.000.00 万元。“G .易试验区深圳前海蛇口片区管理委员会出具的《中国(广东)自由贸易试验区外商投资企业名案 证明》(编号:粤前海自贸资备201603187)。2016 年 8月 23 日，深圳市市场监 督管理局签发了《营业执照》(注册号:440301503547771)。'''
    sector = '科创板'
    # content_text = '每个青年都应当有远大的报复。'
    # content_text = '我想配副眼睛，因为我的眼镜有点近视了。'
    content_text = "百度是一家人工只能公司，白度的主要业务是提供互联网服务"
    # content_text = "我很喜欢《流浪织女》这个神话故事，他讲的是一个牛郎和织女的爱情故事。"
    # content_text = '我的爷爷最喜欢喝高'
    # content_text = """"""
    # fixer_dict = asyncio.run(Fixer.fix_typos(content_text))
    # fixer_dict = asyncio.run(Fixer.fix_typos_R1('2', content_text))
    # asyncio.run(Text.fix_typos(content_text))
    user_id = 12
    fileId = 'f123'
    # fix_typos_dict = asyncio.run(Text.correction_text(index_paragraph_sentence_dict, user_id, fileId))
    fix_typos_dict = asyncio.run(Text.correction_text({1: {"文本": content_text}}, user_id, fileId))

    pprint(fix_typos_dict)
    print(len(fix_typos_dict))


    # loop = asyncio.new_event_loop()
    # asyncio.set_event_loop(loop)
    # index_paragraph_sentence_dict = loop.run_until_complete(Fixer.fix_typos_batch(index_paragraph_sentence_dict))
    # pprint(index_paragraph_sentence_dict)

